<template>
  <div>
    <el-container>
      <el-header class="homeHeader">
        <div class="title">云E办</div>
        <div>
          <el-button type="text" icon="el-icon-bell" size="normal"
                     style="color: white; margin-right: 8px;"
                      @click="toChat"></el-button>
          <el-dropdown class="userInfo" @command="commandHandler">
          <span class="el-dropdown-link">
            {{user.name}}<i><img :src="user.userFace"></i>
          </span>
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item command="userinfo">个人中心</el-dropdown-item>
              <el-dropdown-item command="setting">设置</el-dropdown-item>
              <el-dropdown-item command="logout">注销登录</el-dropdown-item>
            </el-dropdown-menu>
          </el-dropdown>
        </div>
      </el-header>
      <el-container>
        <el-aside width="200px">
          <el-menu router unique-opened>
<!--            循环首层路由生成导航栏-->
            <el-submenu :index="index+''"
                        v-for="(item,index) in routers"
                        :key="index"
                        v-show="!item.hidden">
              <template slot="title">
                <i :class="item.iconCls" style="color: #1accff; margin-right: 5px;"></i>
                <span>{{item.name}}</span>
              </template>
<!--              循环每个首层路由的子路由生成二级菜单-->
                <el-menu-item v-for="(children, indexj) in item.children"
                              :key="indexj"
                              :index="children.path">{{children.name}}</el-menu-item>
            </el-submenu>
          </el-menu>
        </el-aside>
        <el-main>
          <el-breadcrumb separator-class="el-icon-arrow-right" v-show="this.$router.currentRoute.path != '/home'">
            <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
            <el-breadcrumb-item>{{this.$router.currentRoute.name}}</el-breadcrumb-item>
          </el-breadcrumb>
          <div class="homeWelcome" v-show="this.$router.currentRoute.path == '/home'">
            欢迎来到云E办系统
          </div>
          <router-view class="homeRouterView"/>
        </el-main>
      </el-container>
    </el-container>
  </div>
</template>

<script>
export default {
  name: "Home",
  computed:{
    routers(){
      return this.$store.state.routes;
    },
    user(){
      return this.$store.state.currentAdmin;
    }
  },
  data(){
    return{
      // user:JSON.parse(window.sessionStorage.getItem('user'))
    }
  },
  methods:{
    commandHandler(command){
      if (command == 'logout'){
        // 注销登录确认框
        this.$confirm('此操作将退出登录, 是否继续?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          // 发送注销登录请求
          this.postRequest('/logout');
          // 删除sessionStorage中储存的token和用户信息
          sessionStorage.removeItem('tokenStr');
          sessionStorage.removeItem('user');
          // 删除vuex中的菜单信息
          this.$store.commit('initRoutes', []);
          // 跳转到登录页
          this.$router.replace('/');
        }).catch(() => {
          this.$message({
            type: 'info',
            message: '已取消注销'
          });
        });
      }
      if (command == 'userinfo'){
        this.$router.push('/userinfo');
      }
    },
    toChat(){
      this.$router.push('/chat')
    }
  }
}
</script>

<style scoped>
.homeHeader{
  background: #4091ff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px;
  box-sizing: border-box;
}

.title{
  font-size: 30px;
  font-family: 华文楷体;
  color: white;
}

.userInfo{
  cursor: pointer;
}

.el-dropdown-link img{
  width: 48px;
  height: 48px;
  border-radius: 24px;
  margin-left: 8px;
}

.homeWelcome{
  text-align: center;
  font-size: 30px;
  font-family: 华文楷体;
  color: #409eff;
}

.homeRouterView{
  margin-top: 10px;
}

</style>